// 在grades.js中添加以下代码
$(document).ready(function() {
    function loadGrades() {
        let gradesData = [];
        $.ajax({
            url: 'http://localhost:9220/AttendanceSystem/GetGradesController',
            type: 'GET',
            dataType: 'json',
            success: function(data) {
                console.log('获取成绩成功:', data);
                gradesData = data; // 存储原始数据
                renderGradeTable(data);
                updateStats(data);
            },
            error: function(xhr, status, error) {
                console.error('获取成绩失败:', error);
                alert('获取成绩数据失败，请稍后重试');
            }
        });
    }

    function renderGradeTable(grades) {
        const tbody = $('.grades-table tbody');
        tbody.empty();

        grades.forEach(grade => {
            const row = `
                <tr>
                    <td>${grade.studentId}</td>
                    <td>${grade.studentName}</td>
                    <td>${grade.courseName}</td>
                    <td>${grade.usualScore}</td>
                    <td>${grade.finalScore}</td>
                    <td class="total-score">${grade.totalScore}</td>
                  
                </tr>
            `;
            tbody.append(row);
        });
    }

    // 初始加载数据
    loadGrades();

    // 搜索功能实现
    $('.search-box input').on('input', function() {
        const searchTerm = $(this).val().toLowerCase();
        $('.grades-table tbody tr').each(function() {
            const text = $(this).text().toLowerCase();
            $(this).toggle(text.indexOf(searchTerm) > -1);
        });
    });

    // 课程筛选
// 课程筛选（修改后）
    $('.course-filter').change(function() {
        const selectedCourse = $(this).val();
        $('.grades-table tbody tr').each(function() {
            const courseName = $(this).find('td:eq(2)').text();
            const shouldShow = selectedCourse === 'all' || courseName === selectedCourse;
            $(this).toggle(shouldShow);
        });

        // 更新统计信息（新增）
        const filteredGrades = gradesData.filter(g =>
            selectedCourse === 'all' || g.courseName === selectedCourse
        );
        updateStats(filteredGrades);
    });

    function updateStats(grades) {
        // 提取所有总评成绩
        const scores = grades.map(g => parseFloat(g.totalScore));

        // 计算平均分（保留两位小数）
        const average = scores.length > 0
            ? (scores.reduce((a, b) => a + b, 0) / scores.length).toFixed(2)
            : 0;

        // 计算及格率（>=60为及格）
        const passCount = scores.filter(s => s >= 60).length;
        const passRate = scores.length > 0
            ? ((passCount / scores.length) * 100).toFixed(1) + '%'
            : '0%';

        // 计算最高分
        const maxScore = scores.length > 0
            ? Math.max(...scores).toFixed(1)
            : 0;

        // 更新DOM
        $('.grades-stats').find('.stat-card').each(function(index) {
            const $value = $(this).find('.value');
            switch(index) {
                case 0: // 平均分
                    $value.text(average);
                    break;
                case 1: // 及格率
                    $value.text(passRate);
                    break;
                case 2: // 最高分
                    $value.text(maxScore);
                    break;
            }
        });
    }
});
